脚本在实时服务器上正常运行但在wamp上运行不正常

时间:2014-07-25 17:36:37

标签: php apache .htaccess mod-rewrite wampserver

我最近从代码峡谷购买了一个脚本,似乎在实时服务器上工作正常,但在WAMP(Apache版本:2.2.22)上却没有,脚本的要求是mod-rewrite应该打开并且似乎

enter image description here

在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上运行,我确实尝试将RewriteBaseRewriteBase /更改为{{ 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

2 个答案:

答案 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>

这解决了我的问题。