2014-12-30 34 views
1

很抱歉,如果我不好解释我的问题,这是一个有点难以解释什么错*
我已经与.htaccess文件玩弄现在有一段时间,试图让这个工作。
我有以下的文件在我的网站目录:的.htaccess URL重写GET参数,并删除.PHP没有打破的JavaScript/CSS

- index.php 
- generator.php 
- menu.php 
- gift-history.php 
- stats.php 

- images/ 
    - bg-stars.png 
    - avatar.png 

- css/ 
    - style.css 
    - glow.css 
    - background.css 

- js/ 
    - script.js 
    - jquery.js 
    - destiny.js 
    - snowflake.js 

这三个文件夹是images,css and js
该generator.php需要一个$_GET paremeter知道什么发电机加载。
到目前为止,我一直在使用以下网址:
http://tryhardhusky.com/generator.php?t=destiny
对于其他的网页,我在我的.htaccess文件下面的代码:

php_value display_errors Off 
php_flag magic_quotes 1 
php_flag magic_quotes_gpc 1 
php_value mbstring.http_input auto 
php_value date.timezone America/New_York 
Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/
## hide .php extension snippet 
# To externally redirect /dir/foo.php to /dir/foo 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R,L] 
# To internally forward /dir/foo to /dir/foo.php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*?)/?$ $1.php [L] 

这几乎将删除该.php扩展文件名,那么文件将是:
http://tryhardhusky.com/gift-history.php
变为:
http://tryhardhusky.com/gift-history

我试图进入以下页面:
http://tryhardhusky.com/generator.php?t=destiny
改写为
http://tryhardhusky.com/generator/destiny

我以前所有的尝试都打破了js和css,加载页面(尽管位置时返回404错误正确)
[错误404未找到:http://tryhardhusky.com/js/jquery.js]

任何线索我怎么能做到这一点,而不会破坏它?

回答

1

您可以通过这一个在您的htaccess

Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteBase/

# rewrite /generator.php?t=XXX to /generator/XXX 
RewriteCond %{THE_REQUEST} \s/generator\.php\?t=([^\s&]+)\s [NC] 
RewriteRule^generator/%1? [R=301,L] 

# hide PHP extension for existing files 
RewriteCond %{THE_REQUEST} \s/(.+?)\.php(?:\s|\?) [NC] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^%1? [R=301,L] 

# internally rewrite /generator/XXX to /generator.php?t=XXX 
RewriteRule ^generator/([^/]+)$ generator.php?t=$1 [L] 

# internally rewrite to PHP file extension (if existing) 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.+)$ $1.php [L] 
+0

这重写URL我想要的方式替换当前的代码,但现在我得到一个'无法加载资源:服务器与回应状态500(内部服务器错误)'尝试加载时出错tryhardhusky.com/js/jquery.js – Kain

+1

对于哪个网址你有这个错误?哪个目标文件?这当然来自相对路径(您应该使用绝对路径) –

+0

目标文件是'http:// tryhardhusky.com/js/jquery.js' – Kain