共有 HostGator サーバーで LAMP セットアップに取り組んでいます。現在、より使いやすい URL を作成しようとしています。
次のようなアドレスを転送する必要があります。
ここまで:
アドレスバーを変更せずに。私の現在の書き換えルールは次のようになります。
RewriteRule ^posts/(.*)/(.*)? http://usafarmtrader.com/viewpost.php?id=$2 [L,NC,P]
P フラグを追加することが、アドレスを変更せずにロードできる唯一の方法でしたが、JavaScript が壊れているようです。
jsを壊さずにこれを機能させるにはどうすればよいですか? そして、その変数にid(最後のダッシュの後のすべてである必要があります)を取得するために、書き換えルールの正規表現はどのように見えるべきですか?
何かが干渉している可能性がある場合に備えて、.htaccess ファイル全体を次に示します。
#RewriteCond %{REQUEST_URI} !^/js/.*$
#RewriteCond %{REQUEST_URI} !^/img/.*$
#RewriteCond %{REQUEST_URI} !^/css/.*$
#RewriteCond %{REQUEST_URI} !^/inc/.*$
#RewriteCond %{HTTP_HOST} ^usafarmtrader.com$
#RewriteRule !^down\.php$ http://usafarmtrader.com/down.php [R=302,L]
ErrorDocument 404 /index.php
RewriteEngine On
RewriteRule ^(js|img|fonts)/ - [L]
#RewriteRule ^posts/(.*)/(.*)? http://usafarmtrader.com/viewpost.php?id=$2 [L,NC,P]
RewriteRule ^posts/[^/]+/[^.]+-([0-9]+)\.html?$ http://usafarmtrader.com/viewpost.php?id=$1 [L,NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^mylistings\.php|login\.php|myaccount\.php|newaccount\.php|reset\.php|newpost\.php|editpost\.php$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{SERVER_PORT} 443
RewriteRule ^about\.php|contact\.php|down\.php|faq\.php|find\.php|forgot\.php|home\.php|index\.php|viewpost\.php$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Google Analytics Integration - Added by cPanel.
<IfModule mod_substitute.c>
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|(<script src='/google_analytics_auto.js'></script>)?</head>|<script src='/google_analytics_auto.js'></script></head>|i"
</IfModule>
# END Google Analytics Integration
# Use PHP 5.3
AddHandler application/x-httpd-php53 .php