我最近从代码峡谷购买了一个脚本,似乎在实时服务器上工作正常,但在WAMP(Apache版本:2.2.22)上却没有,脚本的要求是mod-rewrite应该打开并且似乎
在wamp的www文件夹中,我的代码位于名为jobs
的文件夹中,这就是我访问它的方式http://localhost/jobs
但是每次将它重定向到http://localhost/jobs/US/
时,我看到的只是WAMP服务器配置屏幕。
在实时服务器上,这是.htaccess
的样子
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^careers.clickteck.com
RewriteRule ^(.*)$ http://www.careers.clickteck.com/$1 [R=permanent,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我没有与.htaccess
合作过多,所以我不知道如何让脚本在localhost上运行,我确实尝试将RewriteBase
从RewriteBase /
更改为{{ 1}}但这也不起作用。
我在RewriteBase /jobs
内没有看到任何内容,但我在apache error log
apache access log
如果有人能告诉我我做错了什么或者如何让它在localhost上工作,我真的很感激。
解
我在127.0.0.1 - - [25/Jul/2014:22:32:41 +0500] "GET /jobs/ HTTP/1.1" 302 -
127.0.0.1 - - [25/Jul/2014:22:32:42 +0500] "GET /jobs/US/ HTTP/1.1" 200 5924
127.0.0.1 - - [25/Jul/2014:22:32:43 +0500] "GET /jobs/US/index.php?img=pngFolder HTTP/1.1" 200 850
127.0.0.1 - - [25/Jul/2014:22:32:43 +0500] "GET /jobs/US/index.php?img=gifLogo HTTP/1.1" 200 4549
127.0.0.1 - - [25/Jul/2014:22:32:43 +0500] "GET /jobs/US/index.php?img=pngWrench HTTP/1.1" 200 741
127.0.0.1 - - [25/Jul/2014:22:32:43 +0500] "GET /jobs/US/index.php?img=pngPlugin HTTP/1.1" 200 548
127.0.0.1 - - [25/Jul/2014:22:32:43 +0500] "GET /jobs/US/index.php?img=pngFolderGo HTTP/1.1" 200 694
中做了以下更改,解决了问题
.htaccess
答案 0 :(得分:1)
删除RewriteBase /
。
替换RewriteRule . index.php [L]
而不是RewriteRule . /index.php [L]
答案 1 :(得分:1)
我通过研究localhost上的wordpress .htaccess
文件来实现它,并找到了一个解决方案,因为脚本位于名为jobs
的文件夹中,我需要在.htaccess
文件中添加它也可以这样做RewriteRule . jobs/index.php [L]
。
这是完整的.htaccess
代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . jobs/index.php [L]
</IfModule>
这解决了我的问题。