Записи перенаправляются на главную страницу XAMPP

10 янв. 2013 г., 16:58:36
Просмотры: 18.9K
Голосов: 1

У меня есть сайт на WordPress, я скачал его с рабочего сервера и настроил локально с помощью XAMPP. Когда я нажимаю на любую запись, меня перенаправляет на localhost/xampp вместо страницы записи. Мой .htaccess выглядит так:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 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)$">
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)$">
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)$">
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 W3TC Page Cache core
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*\/)?w3tc_rewrite_test$ $1?w3tc_rewrite_test=1 [L]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=W3TC_ENC:_gzip]
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} =""
RewriteCond %{HTTP_HOST} =highimpactdataindex.com
RewriteCond %{REQUEST_URI} \/$ [OR]
RewriteCond %{REQUEST_URI} (sitemap(_index)?\.xml(\.gz)?|[a-z0-9_\-]+-sitemap([0-9]+)?\.xml(\.gz)?) [NC]
RewriteCond %{REQUEST_URI} !(\/wp-admin\/|\/xmlrpc.php|\/wp-(app|cron|login|register|mail)\.php|\/feed\/|wp-.*\.php|index\.php) [NC,OR]
RewriteCond %{REQUEST_URI} (wp\-comments\-popup\.php|wp\-links\-opml\.php|wp\-locations\.php) [NC]
RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|wordpress_\[a\-f0\-9\]\+|wordpress_logged_in) [NC]
RewriteCond %{HTTP_USER_AGENT} !(W3\ Total\ Cache/0\.9\.2\.4) [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/w3tc/pgcache/%{REQUEST_URI}/_index%{ENV:W3TC_UA}%{ENV:W3TC_REF}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" -f
RewriteRule .* "/wp-content/w3tc/pgcache/%{REQUEST_URI}/_index%{ENV:W3TC_UA}%{ENV:W3TC_REF}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" [L]
</IfModule>
# END W3TC Page Cache core
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
4
Комментарии

Покажите ваш .htaccess. Я предполагаю, что есть несоответствие между ним и вашей текущей настройкой. Если вы импортировали базу данных, это также может вызывать проблемы.

s_ha_dum s_ha_dum
10 янв. 2013 г. 17:11:47

@s_ha_dum пожалуйста, посмотрите моё изменение

Baig Baig
10 янв. 2013 г. 17:33:54

Отключите кеширование, пока вы пытаетесь решить эту проблему. Какой URL у вашего сайта на сервере Xampp? Мне не нужно получать к нему доступ (я и так не смогу), мне просто нужно знать, что это за URL.

s_ha_dum s_ha_dum
10 янв. 2013 г. 17:38:07

это http://localhost/highimpact/

Baig Baig
10 янв. 2013 г. 17:55:52
Все ответы на вопрос 3
1

Ваше правило перезаписи неправильное. Исходное правило предназначено для случая, когда сайт находится в корне — http://localhost. Ваш сайт расположен по адресу http://localhost/highimpact. Итоговое правило перезаписи должно быть, как я полагаю, RewriteRule . /highimpact/index.php [L].

Если вы перейдёте в wp-admin->Постоянные ссылки и сохраните настройки, WordPress перезапишет правила или сообщит, какие правила нужны, если сервер не может записать в .htaccess. Попробуйте это сделать, на случай, если моё предположение неверно.

Я не знаю, что нужно делать с правилами кэширования. Предполагаю, что плагин кэширования имеет аналогичный механизм для перезаписи своих правил, но я не знаю, как к этому приступить.

10 янв. 2013 г. 18:10:16
Комментарии

да, сработало :)

Baig Baig
10 янв. 2013 г. 18:13:40
2

Я думаю, вы взяли базу данных с локального сервера. Если это так, то зайдите в phpmyadmin и кликните на таблицу wp_options. В первой строке этой таблицы вы увидите значение option_value "localhost/directory" - замените его на текущий URL вашего сайта.

10 янв. 2013 г. 17:25:46
Комментарии

Есть два параметра option_name, которые нужно проверить — siteurl и home.

s_ha_dum s_ha_dum
10 янв. 2013 г. 17:40:48

Я уже внес эти изменения в базы данных

Baig Baig
10 янв. 2013 г. 18:00:12
0
  1. Перейдите в Настройки вашегосайта/wp-admin
  2. Настройки постоянных ссылок и измените на "Обычные"
4 нояб. 2016 г. 07:57:32