J'ai essayé de changer le mode de .htaccess dans le dossier wordpress en 644. Pourtant, je reçois
Not Found
The requested URL /wordpress/features/ was not found on this server.
Je n'arrête pas de lire sur la réorganisation de mon .htaccess pour que Permalinks fonctionne. Incapable de comprendre.
Voici les détails de mon .htaccess
# Comment
DirectoryIndex index.html index.htm index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{QUERY_STRING} (^|\?|&)s2member_file_download\=.+
RewriteRule .* - [E=no-gzip:1]
</IfModule>
# BEGIN FlexiCache Standalone
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_Host} localhost$
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{REQUEST_URI} !^/wp-
RewriteCond %{HTTP_COOKIE} !(wordpress_logged_in|comment_author|wp-postpass)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*) wp-content/plugins/flexicache/standalone.php [L]
</IfModule>
# END FlexiCache Standalone
# BEGIN W3TC Browser Cache
<IfModule mod_deflate.c>
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
</IfModule>
<IfModule mod_headers.c>
Header append Vary User-Agent env=!dont-vary
</IfModule>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/css application/x-javascript text/x-component text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon
</IfModule>
</IfModule>
<FilesMatch "\.(css|js|htc|CSS|JS|HTC)$">
<IfModule mod_headers.c>
Header set Pragma "public"
Header set Cache-Control "max-age=31536000, public, must-revalidate, proxy-revalidate"
</IfModule>
FileETag None
<IfModule mod_headers.c>
Header set X-Powered-By "W3 Total Cache/0.9.2.4"
</IfModule>
</FilesMatch>
<FilesMatch "\.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|SVG|SVGZ|TXT|XSD|XSL|XML)$">
<IfModule mod_headers.c>
Header set Pragma "public"
Header set Cache-Control "max-age=3600, public, must-revalidate, proxy-revalidate"
</IfModule>
FileETag None
<IfModule mod_headers.c>
Header set X-Powered-By "W3 Total Cache/0.9.2.4"
</IfModule>
</FilesMatch>
<FilesMatch "\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|Zip|ASF|ASX|WAX|WMV|WMX|AVI|BMP|CLASS|DIVX|DOC|DOCX|EOT|EXE|GIF|GZ|GZIP|ICO|JPG|JPEG|JPE|MDB|MID|MIDI|MOV|QT|MP3|M4A|MP4|M4V|MPEG|MPG|MPE|MPP|OTF|ODB|ODC|ODF|ODG|ODP|ODS|ODT|OGG|PDF|PNG|POT|PPS|PPT|PPTX|RA|RAM|SVG|SVGZ|SWF|TAR|TIF|TIFF|TTF|TTC|WAV|WMA|WRI|XLA|XLS|XLSX|XLT|XLW|Zip)$">
<IfModule mod_headers.c>
Header set Pragma "public"
Header set Cache-Control "max-age=31536000, public, must-revalidate, proxy-revalidate"
</IfModule>
FileETag None
<IfModule mod_headers.c>
Header set X-Powered-By "W3 Total Cache/0.9.2.4"
</IfModule>
</FilesMatch>
# END W3TC Browser Cache
# BEGIN s2Member GZIP exclusions
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{QUERY_STRING} (^|\?|&)s2member_file_download\=.+
RewriteRule .* - [E=no-gzip:1]
</IfModule>
# END s2Member GZIP exclusions
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress
# BEGIN Security advice from http://www.problogdesign.com/wordpress/11-best-ways-to-improve-wordpress-security/
# 8 – No Directories Should be Available for Browsing
# By default in most hosting, index of directories are shown in web browsers. This has a purpose but it also means that you reveal the content of any directory that has no index.html or index.php.
# Modifying this behavior is easy with Apache, just add the following line of code to the .htaccess file in the root directory (In the same place as the wp-config.php file).
Options All -Indexes
# END Security advice
Edit: Désactive tous les plugins, le Sudo a2enmod rewrite
et le Sudo /etc/init.d/Apache2 restart
. Permaliens activés, rafraîchi la page. Le fichier .htaccess a été créé automatiquement. La page d'accueil s'affiche correctement (comme toujours), aucune des autres pages/liens ne fonctionne. Je l'ai essayé sur mon localhost. Mon site est hébergé sur www.mcruiseon.com
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress
On dirait que la directive Allow Override est toujours définie sur NONE pour votre VHOST.
Par défaut, cette option est désactivée. Ainsi, même si vous activez mod_rewrite via Sudo a2enmod rewrite
, votre .htaccess sera ignoré.
Vous aurez envie de vous connecter à votre serveur (via Terminal/Shell), puis ...
Sudo nano /etc/Apache2/sites-available/default
recherchez dans le fichier:
<Directory /var/www/>
AllowOverride None
Options MultiViews FollowSymlinks
Order allow,deny
Allow from all
Header Set Cache-Control no-cache
</Directory>
Remplacez AllowOverride par ALL
Ctrl + x et enregistrez le fichier
puis
Sudo Apache restart
ou Sudo /etc/init.d/Apache2 restart
voir aussi http://drupal.org/node/134439
Faites-moi savoir si l'autorisation Permettre était désactivée s'il vous plaît?
Vous avez des règles de réécriture pour deux plugins de mise en cache différents et un membre s2. L'erreur que vous recevez signifie que WordPress ne traite même pas la demande. Je vous suggère de désactiver vos plugins, de sauvegarder votre fichier htaccess puis de le supprimer, puis de visiter votre page de paramètres de permaliens et de le sauvegarder pour que WordPress régénère vos règles de réécriture. S'il y a un problème d'autorisations avec votre fichier htaccess, vous verrez une erreur sur l'écran des permaliens. Testez vos permaliens pour voir s’ils fonctionnent, puis réactivez uniquement les plugins que vous utilisez , ce qui signifie que vous choisissez one caching plugin.
Cela me semble que mod_rewrite n'est pas activé sur votre serveur?
Si vous avez un accès Shell au serveur, essayez: Sudo a2enmod rewrite
puis Sudo /etc/init.d/Apache2 restart
Avez-vous essayé de placer le dernier bloc en haut?.
Je pense que quelque part, vous vous retrouvez dans une sorte de boucle sans fin, ou cela n’atteint jamais la réécriture wordpress réelle.
Commencez à partir de zéro, avec seulement vos URL WordPress, pouvez-vous tester cela? et laissez-nous savoir si cela a fonctionné. et continuer à travailler à partir de là. Ça ne m'étonne pas que ça se gâche de ressembler à ça.